home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacFormat España 19
/
macformat_19.iso
/
Shareware
/
Developers
/
N Game Library1.1.0E(ppc)
/
Sprite Sample(PPC)
/
Sprite_Sample(PPC).c
< prev
Wrap
C/C++ Source or Header
|
1996-06-23
|
3KB
|
105 lines
/*============================================================
N_Sprite sample program
============================================================*/
#include "N_Library.h"
void DoEvent (EventRecord *eventPtr);
void DoError (Str255 errorString);
WindowPtr CreateWindow (Str255 name);
#define WindowSizeX 640
#define WindowSizeY 480
short Data_Rsrc = 0;
short NewWindowX;
short NewWindowY;
long counter = 0;
void main(void)
{
WindowPtr window;
short x,y;
long ww;
ToolboxInit();
ColorCheck();
window = CreateWindow("\pN Game Library <Sprite Sample>");
N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY); //setup window
Open_Resource_File(128,1,&Data_Rsrc);
N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);
N_Sprite_Set(129,0,128,128,0,1,1,0); //set sprites(0-4)
N_Sprite_Set(130,1,128,128,0,1,1,0);
N_Sprite_Set(131,2,32,32,0,1,1,0);
N_Sprite_Set(132,3,32,32,0,1,1,0);
Close_Resource_File(&Data_Rsrc);
HideCursor();
Delay(60,&ww);
do
{
x = (GetRandom(0,760) -60);
y = (GetRandom(0,540) -60);
if (counter>=0 && counter<500*2) N_Sp_Put_Win(0,x,y); //SP0 normal,overwrite
if (counter>=500*2 && counter<1000*2 ) N_Sp_Put_Win(0x00010000,x,y); //SP0 Hrev,overwrite
if (counter>=1000*2 && counter<1500*2) N_Sp_Put_Win(0x00020000,x,y); //SP0 Vrev,overwrite
if (counter>=1500*2 && counter<2000*2) N_Sp_Put_Win(0x00030000,x,y); //SP0 H/V rev,overwrite
if (counter>=2000*2 && counter<6000*2) N_Sp_Put_Win(2,x,y); //SP2 normal,overwrite
if (counter>=6000*2 && counter<10000*2) N_Sp_Put_Win(0x00010002,x,y); //SP2 Hrev,overwrite
if (counter>=10000*2 && counter<14000*2) N_Sp_Put_Win(0x00020002,x,y); //SP2 Vrev,overwrite
if (counter>=14000*2 && counter<18000*2) N_Sp_Put_Win(0x00030002,x,y); //SP2 H/V rev,overwrite
if (counter>=18000*2 && counter<18500*2) N_Sp_Put_Win(0x80000001,x,y); //SP1 normal,overlap
if (counter>=18500*2 && counter<19000*2) N_Sp_Put_Win(0x80010001,x,y); //SP1 Hrev,overlap
if (counter>=19000*2 && counter<19500*2) N_Sp_Put_Win(0x80020001,x,y); //SP1 Vrev,overlap
if (counter>=19500*2 && counter<20000*2) N_Sp_Put_Win(0x80030001,x,y); //SP1 H/V rev,overlap
if (counter>=20000*2 && counter<24000*2) N_Sp_Put_Win(0x80000003,x,y); //SP3 normal,overlap
if (counter>=24000*2 && counter<28000*2) N_Sp_Put_Win(0x80010003,x,y); //SP3 Hrev ,overlap
if (counter>=28000*2 && counter<32000*2) N_Sp_Put_Win(0x80020003,x,y); //SP3 Vrev,overlap
if (counter>=32000*2 && counter<36000*2) N_Sp_Put_Win(0x80030003,x,y); //SP3 H/V rev,overlap
if (counter>=72000) counter = 0;
counter++;
}
while (!Button());
ShowCursor();
ColorRevert();
}
WindowPtr CreateWindow (Str255 name)
{
WindowPtr window;
short centerX,centerY;
short windowWidth,windowHeight;
window = GetNewWindow (128,nil,(WindowPtr)-1L );
centerX = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
centerY = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
SetWTitle(window,name);
MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
ShowWindow(window);
SetPort((GrafPtr)window );
return (WindowPtr)window;
}